/**
 * Created by PanJiaChen on 16/11/18.
 */
const phoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
// const numberReg = /^\d+(.\d{1,2})?$/
const numberReg = /^([1-9]\d*|0)(\.\d{1,2})?$/
const integerReg = /^\+?[1-9][0-9]*$/
/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}
// 电话验证规则
export function validPhone(rule, value, callback) {
  if (value === '') {
    callback(new Error('请输入电话号码'))
  } else if (!phoneReg.test(value)) {
    callback(new Error('请输入正确电话号码'))
  } else {
    callback()
  }
}
// 数字验证规则
export function validNumber(rule, value, callback) {
  if (value === '') {
    callback(new Error('请输入有效数字'))
  } else if (parseFloat(value) === 0) {
    callback(new Error('不可为0'))
  } else if (!numberReg.test(value)) {
    callback(new Error('保留两位小数点'))
  } else {
    callback()
  }
}
// 正整数验证规则
export function validInteger(rule, value, callback) {
  if (value === '') {
    callback(new Error('请输入保质期'))
  } else if (!integerReg.test(value)) {
    callback(new Error('请输入有效保质期'))
  } else {
    callback()
  }
}

export function validIntegerIndex(rule, value, callback) {
  if (value === '') {
    callback(new Error('请输入胎次'))
  } else if (!integerReg.test(value)) {
    callback(new Error('请输入有效胎次'))
  } else {
    callback()
  }
}
